Supporting the Allocation of Large Contiguous Regions of Memory
نویسندگان
چکیده
Some modern processors such as later Opterons R © and Power R © processors are able to support large pages sizes such as 1GiB and 16GiB. These page sizes are impractical to reserve at boot time because of the amount of memory that is potentially wasted. Currently, Linux R © as it stands is not well suited to support multiple page sizes because it makes no effort to satisfy allocations for contiguous regions of memory. This paper will discuss features under development that aim to support the allocation of large contiguous areas. This paper begins by discussing the current status of mechanisms to reduce external fragmentation in the page allocator. The reduction of external fragmentation results in sparsely populated superpages that must be reclaimed for contiguous allocations to succeed. We describe how poor reclaim decisions offset the performance benefits of superpages in low-memory situations, before introducing a mechanism for the intelligent reclaim of contiguous regions. Following a presentation of metrics used to evaluate the features and the results, we propose a memory compaction mechanism that migrates pages from sparsely populated to dense regions when enough memory is free to avoid reclaiming pages. We conclude by highlighting that parallel allocators prevent contiguous allocations by taking free pages from regions being reclaimed. We propose a method for addressing this by making pages temporarily unavailable to allocators.
منابع مشابه
Contiguous and Non - Contiguous Processorallocation Algorithms for K - Ary N - Cubes
EEcient utilization of processing resources in a large, multiuser parallel computer depends on processor allocation algorithms that minimize system fragmentation. We propose three processor allocation algorithms for the k-ary n-cube class of parallel architectures, which includes the hypercube and multidi-mensional torus. The k-ary Partner strategy is a conventional contiguous processor allocat...
متن کاملSemi-Contiguous Memory Allocation for Efficient Sequential-Access
Many algorithms have been devised and studied for dynamic contiguous memory allocation. In the absence of enough contiguous memory to satisfy a particular request, one approach is to allocate memory in blocks that are as close as possible to each other, by minimizing interfering blocks – blocks that belong to previously allocated requests. We devise an algorithm for such an allocation strategy ...
متن کاملLightweight Kernel Support for Direct Shared Memory Access on a Multi-Core Processor
This paper describes an enhancement to the Catamount lightweight kernel for direct shared memory access between processes running on a multi-core processor as part of a parallel application. Unlike traditional shared memory support for interprocess communication, which involves dynamic memory allocation and mapping, we leverage Catamount’s static contiguous memory mapping scheme to allows the p...
متن کاملExperimental Study on Time and Space Sharing on the PowerXplorer
Scheduling algorithms in parallel computers fall into two basic categories: time and space sharing algorithms. Space-sharing based processor allocation algorithms can be contiguous or non-contiguous. Studies show that non-contiguous allocation is superior due to decrease in fragmentation. Other studies have reported that executing jobs on fewer processors (folding) can improve the performance o...
متن کاملModeling the multicast address allocation problem
To support IP multicast, domains must assign a unique multicast address to each application from a limited, globally-shared address space. We examine the performance of several classes of address allocation algorithms within the context of the MASC architecture. This study is the first of its kind to model the generalized multicast address allocation problem and consider non-contiguous allocati...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010